<?php session_start();
    include_once ("../bussines/ProveedorBR.php");
    include_once ("../entity/Proveedor.php");
    
    if(file_exists("../entity/Constantes.php")){
        include_once ("../entity/Constantes.php");
    }
    
    if(isset($_POST["opc"])){
        
        $codigo = $_POST["codigo"];
        $codigo_alterno = $_POST["codigo_alterno"];
        $descripcion = $_POST["descripcion"];
        $direccion = $_POST["direccion"];
        $telefono = $_POST["telefono"];
        $contacto = $_POST["contacto"];
        $ruc = $_POST["ruc"];
        $departamento = $_POST["departamento"];
        $provincia = $_POST["provincia"];
        $distrito = $_POST["distrito"];
        $estado = $_POST["estado"];
        
        $usuario_crea = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        $usuario_modi = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        
        if($_POST["opc"]=="bus"){
            
            $page = $_POST['page'];
            $limit = $_POST['rows'];
            $sidx = $_POST['sidx'];
            $sord = $_POST['sord'];
            
            if (!$sidx){
                $sidx = 1;
            }
            
            echo mostrarProveedorGrilla($codigo_alterno,$descripcion,$estado,$page,$limit,$sidx,$sord);
        }elseif($_POST["opc"]=="cod"){
            echo generarCodigo();
        }elseif($_POST["opc"]=="ins"){
            echo insertar($codigo_alterno,$descripcion,$direccion,$telefono,$contacto,$ruc,$departamento,$provincia,$distrito,$estado,$usuario_crea);
        }elseif($_POST["opc"]=="get"){
            echo obtenerID($codigo);
        }elseif($_POST["opc"]=="del"){
            echo eliminar($codigo);
        }elseif ($_POST["opc"]=="edi"){
            echo editar($codigo,$codigo_alterno,$descripcion,$direccion,$telefono,$contacto,$ruc,$departamento,$provincia,$distrito,$estado,$usuario_modi);
        }elseif($_POST["opc"]=="vdel"){
            echo validarEliminar($codigo);
        }
    }
    
    function validarEliminar($codigo){
        $vdel = new ProveedorBR();
        $result = $vdel->validarEliminar($codigo);
        
        if($result > 0){
            $msj = ConstantesMensajes::K_MENSAJE_VALIDAR_PROVEEDOR_PRODUCTOALMACEN_EXISTE;
        }else{
            $msj = '0';
        }
        return $msj;
    }
    
    function eliminar($codigo){
        $del = new ProveedorBR();
        $entity = new Proveedor();
        $entity->codigo = $codigo;
        
        $result = $del->eliminar($entity);
        
        if($result==1){
            $msj = ConstantesMensajes::K_MENSAJE_DELETE_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_DELETE_NOOK;
        }
        return $msj;
    }
    
    function editar($codigo,$codigo_alterno,$descripcion,$direccion,$telefono,$contacto,$ruc,$departamento,$provincia,$distrito,$estado,$usuario_modi){
        $edi = new ProveedorBR();
        $entity = new Proveedor();
        $entity->codigo = $codigo;
        $entity->codigo_alterno = $codigo_alterno;
        $entity->descripcion = $descripcion;
        $entity->direccion = $direccion;
        $entity->telefono = $telefono;
        $entity->contacto = $contacto;
        $entity->ruc = $ruc;
        $entity->departamento = $departamento;
        $entity->provincia = $provincia;
        $entity->distrito = $distrito;
        $entity->estado = $estado;
        $entity->usuario_modi = $usuario_modi;
        
        $result = $edi->editar($entity);
        
        if($result == 1){
            $msj = ConstantesMensajes::K_MENSAJE_UPDATE_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_UPDATE_NOOK;
        }
        return $msj;
    }
    
    function obtenerID($codigo){
        $get = new ProveedorBR();
        $entity = new Proveedor();
        $entity->codigo = $codigo;
        
        $result = $get->obtenerID($entity);
        
        return json_encode($result);
    }
    
    function insertar($codigo_alterno,$descripcion,$direccion,$telefono,$contacto,$ruc,$departamento,$provincia,$distrito,$estado,$usuario_crea){
        $ins = new ProveedorBR();
        $entity = new Proveedor();
        $entity->codigo_alterno = $codigo_alterno;
        $entity->descripcion = $descripcion;
        $entity->direccion = $direccion;
        $entity->telefono = $telefono;
        $entity->contacto = $contacto;
        $entity->ruc = $ruc;
        $entity->departamento = $departamento;
        $entity->provincia = $provincia;
        $entity->distrito = $distrito;
        $entity->estado = $estado;
        $entity->usuario_crea = $usuario_crea;
        
        $result = $ins->insertar($entity);
        
        if($result==1){
            $msj = ConstantesMensajes::K_MENSAJE_INSERT_OK;
        }else{
            $msj = ConstantesMensajes::K_MENSAJE_INSERT_NOOK;
        }
        return $msj;
    }
    
    function generarCodigo(){
        $cod = new ProveedorBR();
        $result = $cod->generarCodigo();
        
        return json_encode($result);
    }
    
    function mostrarProveedorGrilla($codigo_alterno,$descripcion,$estado,$page,$limit,$sidx,$sord){
        $bus = new ProveedorBR();
        $entity = new Proveedor();
        $entity->codigo_alterno = $codigo_alterno;
        $entity->descripcion = $descripcion;
        $entity->estado = $estado;
        
        $count = $bus->numeroRegistro($codigo_alterno, $descripcion,$estado);
        
        if ($count > 0) {
            $total_pages = ceil($count / $limit);
        } else {
            $total_pages = 0;
        }
        if ($page > $total_pages){
            $page = $total_pages;
        }
        $start = $limit * $page - $limit;
        $responce->page = $page;
        $responce->total = $total_pages;
        $responce->records = $count;
        $i = 0;
        
        $proveedores = $bus->BuscarSearch($entity, $start, $limit, $sidx, $sord);
        
        if(sizeof($proveedores)){
            foreach ($proveedores as $fila){
                $responce->rows[$i]['id'] = $fila->codigo;
                $responce->rows[$i]['cell'] = array($fila->codigo,$fila->codigo_alterno, $fila->descripcion,$fila->direccion,$fila->telefono,$fila->contacto,$fila->ruc,$fila->departamento,$fila->provincia,$fila->distrito,$fila->estado,$fila->estado_descri);
                $i++;
            }
        }
        return json_encode($responce);
    }
    
?>